import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
// import app from './modules/app'
// import settings from './modules/settings'
// import user from './modules/user'
// import menus from './modules/menus'

Vue.use(Vuex)
// 方法一
// const store=new Vuex.Store({
//   modules:{
//     app,
//     settings,
//     user,
//     menus
//   },
// getters  //高级写法
// })
// 有了下面的高级用法 就不需要这个了

// 方法2
// 这里这样写了就不需要导入modules里面的文件了  也不需要注册了
const req = require.context('./modules', false, /\.js$/)
const mName = req.keys().map(item=>{ return item.split('./')[1]}).map(item=>{return item.split('.js')[0]})
const mModule = req.keys().map(req)
const obj = {}
mName.forEach((key,index)=>{
  // console.log('key',key);
  // console.log('index',index);
  obj[key] = mModule[index].default
  });
// console.log('obj',obj);

const store = new Vuex.Store({
  modules: obj,
  // getters:getters,
  getters  //高级写法
})

export default store